/**
 * 验证是否是整数
 * @example validateInteger('123') => true
 * @example validateInteger('-123') => true
 */
export function validateInteger(value: string): boolean {
    return /^-?\d+$/.test(value);
}

/**
 * 验证是否纯数字(不包含小数点和负号)
 * @example validateNumber('123') => true
 * @example validateNumber('-123') => false
 * @example validateNumber('1.23') => false
 * @example validateNumber('1.') => false
 */
export function validateNumber(value: string): boolean {
    return /^\d+$/.test(value);
}

/**
 * 验证是否是浮点数
 * @example validateFloat('123.456') => true
 * @example validateFloat('1.') => false
 * @example validateFloat('1.0') => true
 */
export function validateFloat(value: string): boolean {
    return /^(-?\d+)(\.\d+)?$/.test(value);
}

/**
 * 验证是否是字母
 * @example validateLetter('abc') => true
 */
export function validateLetter(value: string): boolean {
    return /^[a-z]+$/i.test(value);
}
/**
 * 验证是否是汉字
 * @example validateChinese('你好') => true
 */
export function validateChinese(value: string): boolean {
    return /^[\u4e00-\u9fa5]+$/.test(value);
}
/**
 * 验证是否是邮箱
 * @example validateEmail('example@example.com') => true
 */
export function validateEmail(value: string): boolean {
    return /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(value);
}
/**
 * 验证是否是手机号
 * @example validateMobile('15515155515') => true
 */
export function validateMobile(value: string): boolean {
    return /^1[0-9]{10}$/.test(value);
}

/**
 * 验证是否是座机电话
 * @example validateTel('010-12345678') => true
 */
export function validateTel(value: string): boolean {
    return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(value);
}

/**验证是否是网址 */
export function validateWebsite(value: string): boolean {
    return /^((https|http)?:\/\/)[^\s]+/.test(value);
}

/**
 * 验证是否是https网址
 * @example validateHttps('https://www.baidu.com') => true
 */
export function validateHttps(value: string): boolean {
    return /^https:\/\/[^\s]+/.test(value);
}

/**
 * 验证是否是http网址
 * @example validateHttp('http://www.baidu.com') => true
 */
export function validateHttp(value: string): boolean {
    return /^http:\/\/[^\s]+/.test(value);
}

/**
 * 验证是否是域名
 * @example validateDomain('www.baidu.com') => true
 */
export function validateDomain(value: string): boolean {
    return /^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/.test(value);
}

/**
 * 验证是否是ip地址
 * @example validateIP('192.168.1.1') => true
 */
export function validateIP(value: string): boolean {
    return /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/.test(value);
}